#ifndef MONITORSERVICE_HPP
#define MONITORSERVICE_HPP
#include "ftpservice.hpp"
#include "occiservice.hpp"
#include "ftpprofiles.hpp"
#include "datacollection.hpp"
#include "runnable.hpp"
//really ugly
#include "runtimeinfo.h"
#include "emailconfig.hpp"

using namespace com_oocl_monitor::domain;

namespace com_oocl_monitor {
	namespace service {
		class MonitorService :public Runnable {
		public:
			MonitorService(const FtpInfo , const Profile, const EmailConfig , FtpPool *, OcciPool *, RunTimeInfo *);
			virtual ~MonitorService();
			virtual void run();
		private:
			DataCollection *getFtpData();
			DataCollection *getDbData();
		private:
			const FtpInfo _ftpInfo;
			const Profile _profile;
			const EmailConfig _emailConf;
			FtpPool *_ftpPool;
			OcciPool *_dbPool;
		};
	}
}

#endif // MONITORSERVICE_HPP

